﻿using System.Diagnostics;

namespace FlitBit.Core
{
	/// <summary>
	///   Logging utilities.
	/// </summary>
	public static class LogSink
	{
		/// <summary>
		///   Notifies the log sink that the source object generated a trace event.
		/// </summary>
		/// <param name="source"></param>
		/// <param name="eventType"></param>
		/// <param name="message"></param>
		/// <typeparam name="T"></typeparam>
		public static void OnTraceEvent<T>(T source, TraceEventType eventType, string message)
		{}

		/// <summary>
		///   Determines if trace events should be written when generated by the source object.
		/// </summary>
		/// <param name="source"></param>
		/// <param name="eventType"></param>
		/// <typeparam name="T"></typeparam>
		/// <returns></returns>
		public static bool ShouldTrace<T>(T source, TraceEventType eventType)
		{
			return false;
		}
	}
}